/*
 * ---------------------------------------------------------------------
 * Copyright (c) 2014, 2015 All Right Reserved
 * This software is developed for study and improve coding skill ...
 *
 * Project:  Project:  Excellent Coding< EC >
 *
 * ecString.h
 * This file for redefing all EC string operation interface define.
 *
 * Eamil:   epengao@126.com
 * Author:  Peter Gao
 * Version: Intial first version.
 * --------------------------------------------------------------------
 */

//#include <strings.h>
#include <string.h>
#include "ecBaseType.h"

#ifdef __cplusplus
extern "C" {
#endif

namespace ec
{
EC_U32 ecStrLen(EC_PCHAR pStr);
EC_CHAR ecToUpper(EC_CHAR cChar);
EC_CHAR ecToLower(EC_CHAR cChar);
EC_PCHAR ecToUpperStr(EC_PCHAR pStr);
EC_PCHAR ecToLowerStr(EC_PCHAR pStr);
EC_PCHAR ecStrCopy(EC_PCHAR pDest, const EC_PCHAR pSrc);
EC_PCHAR ecStrNCopy(EC_PCHAR pDest, const EC_PCHAR pSrc, EC_U32 uSize);
EC_PCHAR ecStrCat(EC_PCHAR pDest, const EC_PCHAR pSrc);
EC_PCHAR ecStrAddPrefix(EC_PCHAR pStr, const EC_PCHAR pPrefix);
EC_PCHAR ecStrInsertChar(EC_PCHAR pStr, EC_CHAR cChar, EC_U32 uIndex);
EC_PCHAR ecStrInsertStr(EC_PCHAR pStr, const EC_PCHAR pInsert, EC_U32 uIndex);
EC_PCHAR ecStrStr(EC_PCHAR pDest, EC_PCHAR pFind);
EC_PCHAR ecStrSet(EC_PCHAR pStr, EC_CHAR cChar);
EC_PCHAR ecIntToStr(EC_PCHAR pStr, EC_S32 nInt);
EC_PCHAR ecToCStr(EC_PCHAR pStr, EC_PWCHAR pWstr);
EC_PWCHAR ecToWidStr(EC_PWCHAR pWstr, EC_PCHAR pStr);
EC_S32 ecStrToInt(const EC_PCHAR pStr);
EC_S32 ecStrCompare(EC_PCHAR pStr1, EC_PCHAR pStr2);
EC_S32 ecStrNCompare(EC_PCHAR pStr1, EC_PCHAR pStr2, EC_U32 uSize);
EC_S32 ecStrCaseCompare(EC_PCHAR pStr1, EC_PCHAR pStr2);
EC_S32 ecStrNCaseCompare(EC_PCHAR pStr1, EC_PCHAR pStr2, EC_U32 uSize);
} /* namespace ec */

#ifdef __cplusplus
}
#endif